| Ограничение времени | 4 секунды |
| Ограничение памяти | 256 Мб |
| Ввод | стандартный ввод или input.txt |
| Вывод | стандартный вывод или output.txt |
Пирамидворд — особый вид пространственного кроссворда.
Рассмотрим правильную четырехугольную пирамиду. Ее основание является квадратом, боковые ребра имеют такую же длину. На ребрах пирамиды можно записывать слова из словаря, крайние буквы слова записываются в вершинах пирамиды (концах ребра). Слово на ребре может быть записано в любом направлении. Нельзя записывать одно и то же слово на нескольких ребрах.
Все слова в словаре имеют длину . Гарантируется, что в словаре нет пары слов, таких, что второе слово является развернутым первым.
Определите, сколько пирамидвордов можно составить из слов заданного словаря. Два пирамидворда считаются различными, если существует ребро, на котором последовательность букв отличается. В частности, если после поворота нашлось такое ребро, то такие пирамидворды следует считать различными.
Первая строка содержит два целых числа и — количество слов в словаре и длина каждого слова в нем. Следующие строк содержат описание слов из словаря. Каждое слово состоит из строчных букв английского алфавита. Гарантируется, что все слова в словаре различны, имеют одинаковую длину , и не найдется двух различных слов, таких, что одно из них является развернутым вторым.
В качестве ответа выведите число различных пирамидвордов, которые можно составить из слов этого словаря. Так как это число может быть слишком большим, выведите его по модулю .
Оценка за задачу — 100 баллов. Тестирование производится онлайн. Каждый набор тестовых данных оценивается в 2 балла.
Гарантируется, что решения, работающие с , набирают не менее 20 баллов.
Гарантируется, что решения, работающие со словарями, состоящими из слов с невозрастающей/неубывающей последовательностью букв, у которых первая и последняя буквы различны, набирают не менее 30 баллов.
Гарантируется, что решения, работающие со словарями, в которых не более 13 различных букв, набирают не менее 90 баллов.
| Ввод | Вывод |
|---|---|
8 5 album alert alley audio money yacht tango mango | 8 |
Ниже приведены все 8 пирамидвордов, которые можно получить из набора слов в примере.